home *** CD-ROM | disk | FTP | other *** search
- Windows Sockets 2 SDK for Windows 95 Release Notes
- ----------------------------------------------------------------------
-
- INTRODUCTION
- ------------
- This Windows Sockets 2 SDK is provided for developers only. Unless
- you are actively developing Windows Sockets 2 applications or service
- providers, there is no reason to install this SDK.
-
- This SDK supercedes all previous version of Windows Sockets 2 that
- have been placed on the network. There is no reason to be using any
- previous version.
-
- Much of the developer information in this Windows Sockets 2 SDK is
- also included in the Win32 SDK. The Windows 95 run-time
- components and the sample code are the only components present here
- that are not currently included in the Win32 SDK.
-
- CONTENTS
- --------
- This SDK contains header files, libraries, sample code, the WinSock2
- run-time components for Windows 95, a setup CAB file, the checked (debug) WinSock2 DLL,
- and debug symbols.
-
- This SDK does not contain WinSock 2 API or SPI documentation. For
- that information, see the Win32 SDK, or download the Windows Sockets 2
- specification from ftp://ftp.microsoft.com/bussys/winsock/winsock2/ or
- ftp://ftp.intel.com/pub/winsock2/.
-
- This SDK does not contain the run-time components for Windows
- NT. WinSock2 is built into Windows NT version 4, and is not available
- separate from the full operating system. Windows NT version 4 and the
- Win32 SDK are available to developers via the Microsoft Developer Network
- (i.e. MSDN). See http://www.microsoft.com/msdn for more information.
-
- Licensing and Redistribution
- ----------------------------
- Please see the End User License Agreement in license.txt.
-
- SETUP WINDOWS 95 RUN-TIME COMPONENTS
- ------------------------------------
- If you are developing WinSock2 applications for Windows 95, you can
- install the WinSock2 DLL and related files, as well as the Microsoft
- TCP/IP and IPX service providers and TCP/IP stack upgrade, by running
- setup\WS2SETUP.EXE.
-
- WS2Setup.exe detects versions of Windows newer and older than
- Windows 95 and will NOT install over them.
-
- WS2SETUP.EXE will, by default, install the Microsoft service providers
- and TCP/IP stack upgrade unless explicitly instructed not to do so when it
- attempts to call a vendor installation dll (see \samples\vendinst\README.TXT
- for more details).
-
- If WS2SETUP.EXE determines that there are non-Microsoft WinSock 1.1 system
- dlls present, installation will terminate unless specific override
- instructions configured by the vendor's installation dll are determined to
- exist (again, see \samples\vendinst\README.TXT for more details).
-
- If WS2SETUP.EXE finds that there is at least one WinSock 2
- compatible service provider installed, it will backup the current
- installation and proceed to copy the WinSock2 DLLs into the
- correct directories and configure the registry. It is necessary to reboot
- before using WinSock2.
-
- WS2SETUP.EXE has been tested on Windows 95 and Windows 95 OEM Service
- Release 2 machines that have the Microsoft TCP/IP and IPX stacks
- (for WinSock 1.1) already installed and on machines that have either
- no TCP/IP and/or no IPX installed. Microsoft recognizes that there are
- other network transport stacks present in the industry, but this setup
- program does not upgrade them.
-
- WARNING: Neither WS2SETUP.EXE, nor any of the separate WinSock2 DLLs,
- should be installed on Windows NT. WinSock2 is built into Windows NT
- version 4, and will not be provided for earlier versions of Windows NT.
-
- WS2SETUP.EXE AND MICROSOFT PROXY SERVER WINSOCK PROXY CLIENT
- -------------------------------------------------------------
- If WS2SETUP.EXE detects that the existing wsock32.dll is from the
- Microsoft Proxy Server WinSock Proxy Client (by way of the strings
- "Microsoft" & "Proxy" appearing in the version copyright), setup will
- look for the file _MSRWS32.dll, and perform a pass of it's copyright
- version checking (as defined in section above)on _MSRWS32.dll as it did on
- WSOCK32.DLL. Setup will continue on, or abort depending on the copyright
- string as it normally would.
-
- If WS2SETUP.EXE validates _MSRWS32.dll's copyright string it will
- continue to install WinSock 2, and the Microsoft Proxy Server Remote
- WinSock Client will work as it did prior to upgrade.
-
- WS2SETUP.EXE AND DCOM'95
- ------------------------
- WS2SETUP.EXE will only install on machines that have DCOM'95 build 812
- or higher, or no version of DCOM'95 at all. If a version of DCOM'95 prior
- to build 812 is detected, WS2SETUP.EXE will abort without installing
- WinSock 2 for Windows 95 and an error message will be written to
- WS2SETUP.LOG.
-
- To obtain an updated version of DCOM'95, see
- http://www.microsoft.com/oledev/olemkt/oledcom/dcom95.htm for availability,
- download instructions and release notes.
-
- WS2SETUP.EXE INSTALLS NEW VERSION OF NDIS.VXD WITH MICROSOFT TCP/IP OR IPX
- -------------------------------------------------------------------------
- WS2Setup.exe will install a version of NDIS.VXD which is newer than that
- which came with the original Windows 95 release (ver 4.00.950) when either
- the Microsoft TCP/IP or IPX stack is included in the installation.
-
- The only known problem with the new NDIS.VXD involves Madge Token Ring
- Adapters. If you have one of these cards or experience any other
- difficulties, please contact customer support.
-
- If your Windows 95 version is 4.00.1111 or higher, there is no difference
- between the new NDIS.vxd and your existing one.
-
-
- WS2SETUP.EXE AND BETA VERSIONS OF THE WINSOCK 2 FOR WINDOWS 95 SDK
- ------------------------------------------------------------------
- If you are currently using a beta version of the WinSock 2 for Windows 95
- executables, you should completely uninstall that version to return to
- your pre-existing WinSock 1.1 configuration prior to running WS2SETUP.EXE.
-
- To remove the older version, follow the directions in the section below
- called "UNINSTALLING WINSOCK 2". You will also need to delete the directory
- C:\<your windows directory>\WS2BAKUP and its contents manually to assure
- that all traces of the beta(s) are removed.
-
- Note: It may also be necessary to reinstall TCP/IP from the Control Panel
- prior to running WS2SETUP.EXE, since newer versions of the beta do not
- contain replacements for the TCP/IP utilities, while older versions did.
- The final release makes use of the original Windows 95 TCP/IP utilities/
-
- SETUP SDK COMPONENTS
- ---------------------
-
- It is assumed that you already have a development environment capable
- of building Windows Applications. Microsoft Visual C++ versions 4.2
- and 5.0 are the only environment that these SDK components have been
- tested with. It is possible to use the SDK components with other compilers
- but the integration is left as an exercise for the developer.
-
- In order to compile WinSock2 applications or service providers, be
- sure that the headers in the include directory are placed first on
- your INCLUDE search path since the headers in this SDK supercede
- those contained in Microsoft Visual C++ versions 4.2 and 5.0.
-
- It is necessary to define _WIN32_WINNT
- as 0x0400 for the precompiler (e.g. cl -D_WIN32_WINNT=0x0400 ...)
- in order for WINDOWS.H to include WINSOCK2.H rather than the older
- winsock.h. This is done automatically by MAKEFILEs that include
- the win32.mak (provided here) and leave the TARGETOS unspecified.
-
-
- Always include WINDOWS.H before including WINSOCK2.H directly.
- (WINDOWS.H will include WINSOCK2.H in most common cases, but including
- WINSOCK2.H below WINDOWS.H assures it will always be included.)If your
- source code includes winsock.h directly, and you simply change
- this to include WINSOCK2.H, you may get undefined externals in
- MSWSOCK.H at compile time.
-
-
- Please note that all Quality of Service related definitions have been
- removed from WINSOCK2.h and placed in QOS.h. (WINSOCK2.h now
- #includes qos.h)
-
- In order to compile WinSock2 applications or service providers, be
- sure that the libraries in the lib directory are placed first on the
- LIB search path.
-
- In order to use the debug-trace feature of WinSock2 (see samples\dt_dll),
- it is necessary to use the debug version of WS2_32.DLL that is available
- in the debug directory.
-
- If you are using a version of Visual C++ prior to 4.2, you will get
- a compiler error "cannot open include file: wincrypt.h" because
- WINDOWS.H tries to include this new header. A simple fix is to
- explicitly define NOCRYPT at compile time (e.g. cl -DNOCRYPT ...).
-
-
- UNINSTALLING WINSOCK 2
- ---------------------
- When WS2SETUP.EXE runs for the first time, it copies WS2BAKUP.BAT
- and the WinSock 1.1 files to %windir%\ws2bakup.
-
- Running WS2BAKUP.BAT returns the user to their original WinSock 1.1
- configuration. From Windows Explorer, simply double click on
- "C:\<your windows directory>\WS2BAKUP\ws2bakup.bat
-
- CAUTION: When you run WSBAKUP.BAT from inside Windows 95, you may encounter a
- sharing violation as some system files may not get restored if the newer
- version is currently running! If this happens, you'll need to re-run
- WSBAKUP.BAT in MS-DOS mode. To do this click "Start", "Shut Down", select
- the "Restart the computer in MS-DOS mode" option, and click "OK".
- After reboot you will need to type
- "C:\<your windows directory>\WS2BAKUP\WS2BAKUP" and hit the Enter key.
- (In MS-DOS mode you will see errors for programs that cannot run outside of
- Windows, but you should not be concerned, as these programs will have already
- executed properly if you ran ws2bakup from inside Windows 95 first.)
- Reboot again and you'll be back on WinSock 1.1
-
- Note that if you are reinstalling WS2SETUP over a previous version of
- WinSock 2 greater than beta 2, your prior configuration will NOT be
- backed up again. Uninstalling will yield your original 1.1
- configuration, NOT beta 2 or 2a.
-
- DO NOT restore by re-installing TCP/IP from the Network applet in the
- Control Panel! This action will NOT replace the WinSock DLLs, and does
- not guarantee you will have the same configuration you had before
- upgrading to WinSock 2
-
-
- SAMPLE APPLICATIONS
- -------------------
- For your convenience, the \samples directory contains sample code
- demonstrating common WinSock 2 usage scenarios. \samples contains
- sub directories with source code for
-
- \DT_DLL - Debug trace tool
- \Layered - Layered Service Provider example (new and improved!)
- \mchat - Multicast example
- \RnR - Examples for using WS2's Name Resolution functionality
- \VendInst - Vendor Install DLL example
- \ws2chat - Simple chat example
-
- Note that these samples are NOT intended to be production-ready code!
- In many cases they are oversimplified to be used as a development
- starting point.
-
- SERVICE PROVIDER ORDERING
- -------------------------
-
- The util\sporder directory contains an application and a DLL that can be
- used for reordering the WinSock2 service providers that have already
- been installed on a system. The header and documentation for
- SPORDER.DLL are provided in util\sporder\SPORDER.H.
-
- SPORDER.EXE will run on Windows NT version 4 or on Windows 95 once
- WinSock2 is installed. The August 1996 version of the Win32 SDK
- includes a license that allows SPORDER.DLL to be redistributed.
-
- SOCKEYE DIAGNOSTIC TOOL
- -----------------------
- The util\sockeye directory contains a tool for diagnosing
- WinSock 2 calls. This application is provided on an as-is
- basis and its use is unsupported.
-
- Instructions on how to use Sockeye are only available from the
- Help Menu item "Using Sockeye".
-
- RAW SOCKET SUPPORT
- ------------------
- Raw socket support is now available in the TCP/IP stack upgrade
- as well as the Windows Sockets 2 DLLs.
-
- SERVICE PROVIDER CREATION OF IFS HANDLES
- ----------------------------------------------------
- Up until now, service providers (whether layered or base) that did not
- create their own IFS socket handles did not work with applications that
- assume that all socket handles are file system handles.
-
- Currently, the WinSock 2 specification does not define Layered Service
- Providers as having the ability to create IFS handles. This was clearly
- an oversight and Microsoft has been working with the WinSock Working Group
- to modify the specification. The resultant modifications are
- defined in \Samples\layered\ifswsps.doc. These changes are incorporated
- into this release and you MUST modify your LSP to make use of these changes.
-
- Please note that these are NOT Microsoft-specific extensions. These
- revisions are in the process of being ratified by the working group, and
- will appear in a future draft of the official WinSock 2 specification.
-
- NOT IMPLEMENTED
- ---------------
-
- The following features are available in the Windows Sockets 2 DLL,
- as per the specification, but they are either not implemented
- or not yet well tested in the Microsoft TCP/IP service provider.
-
- a. Generic QoS
- b. socket groups -have been removed from the WinSock 2 specification
- c. deferred accept.
- d. disconnect/connect data.
-
- The Microsoft IPX network transport stack has been modified to work as
- a WinSock2 service provider. However, none of the features that are
- new in WinSock2 have been implemented yet in the IPX service provider.
-
- Similarly, Microsoft's SAP name space provider for IPX has not been upgraded
- to support any of the name resolution features that are new in WinSock 2.
-
-
- BUG REPORTING
- -----------------
- Please do not report bugs found on beta versions of this SDK unless
- you have been able to reproduce them with this final release.
-
- If you or your corporation were a member of WinSock 2 for Windows 95
- Beta 2a, or are a current member of the "Memphis" betas, please continue to
- use those bug reporting channels.
-
- If you encounter bugs with this release and did not participate in
- beta 2a or the "Memphis" betas, please send your bug reports via email to
- wsbugdsc@microsoft.com.
-
- Please DO NOT include any aliases or mailing lists in the Cc: line of your
- report. Conversely, please do not Cc: wsbugdsc on mail sent ot aliases or
- mailing lists as a means of reporting bugs. (Cc'ing wsbugdsc would result
- in multiple reports of the same bug when members of the mailing
- lists/aliases respond via "Reply All", Multiple reports significantly lower
- our ability to respond and fix bugs.)
-